The client-server architecture is a common approach to networking and communications between computer systems. Numerous applications and functions, such as cloud-based document repositories and services, email, and Internet-based communications all can be implemented using client-server architecture. In general, a client can be any computer (e.g., desktop, laptop, tablet, smartphone, etc) or computer program that queries a server to make use of a resource, and a server is a computer system configured to share its resources with requesting clients. Example resources that can be shared between a server and client are numerous and virtually unlimited, including data (e.g., information databases and blogs), data storage systems (e.g., repositories for storing and organizing client files and data), and processing capability (e.g., central processing unit and/or graphics processing unit), to name a few. Client and server computing systems typically communicate with one another in a request-response protocol, where the client sends a request and the server returns a response to that request.
As is further known, a browser is a client-side application commonly used to initiate client requests to a server, wherein a desired resource of the server is identified by a Uniform Resource Identifier (URI) and may be, for example, a webpage, image, video or other consumable content. As is further known, a uniform resource locator (URL) is a type of URI that defines the network storage location of a specific representation for a given resource, and also defines the file extension that indicates what content type is available at the URL. Although browsers are primarily used for Internet-based communications, they can also be used to access file systems as well as information provided by servers in private networks. As is further known, HyperText Markup Language (HTML) is the main markup language for creating pages and other information that can be displayed in a browser, and HTML elements are the building blocks of most websites. HTML allows objects and content to be embedded and can be used to create interactive forms, and provides a mechanism for creating documents by specifying structural semantics for text such as headings, paragraphs, links, and other items. HTML can also embed scripts (e.g., such as JavaScript-based code) which affect the behavior of a given HTML page at the client.